package com.jy.modules.cims.loan.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.jy.modules.cims.common.sysUtils.SearchParamUtil;
import com.jy.modules.cims.data.common.dto.TCMmDictDTO;
import com.jy.modules.cims.data.dao.TbjDictDao;
import com.jy.modules.cims.data.dto.TbjDictDto;

/**
 * 
 * <b>类名称：</b>TBJDictService <br/>
 * <b>类描述：</b>铜板街字段维护服务类<br/>
 * <b>创建人：</b>zhangmi<br/>
 * <b>修改人：</b><br/>
 * <b>修改时间：</b>2016-7-28 下午3:31:12<br/>
 * <b>修改备注：</b><br/>
 * <b>版本信息：</b>v1.0.0<br/>
 */
@Service("com.jy.modules.cims.loan.service.TBJDictService")
public class TBJDictService {
	
	@Autowired
	private TbjDictDao tbjDictDao;
	
	/**
	 * 铜板街字典表分页查询
	 * @Title searchTbjDictByPaging
	 * @Description TODO
	 * @param tbjDictDto
	 * @return 
	 * List<TbjDictDto> 
	 * @author zhangmi
	 * @date 2016-7-28-下午4:20:54
	 * @update 
	 * @throws
	 */
	public List<TbjDictDto> searchTbjDictByPaging(Map<String, Object> searchParams){
		return tbjDictDao.searchTbjDictByPaging(searchParams);
	}
	
	/**
	 * 铜板街字典表插入
	 * @Title insertTbjDictDetail
	 * @Description TODO
	 * @param dto 
	 * void 
	 * @author zhangmi
	 * @date 2016-8-1-下午4:54:14
	 * @update 
	 * @throws
	 */
	public void insertTbjDictDetail(TbjDictDto dto){
		//判断父类是否存在
		if(dto.getDictId()<1){
			//通过编码查询
			TCMmDictDTO searchDictDto = new TCMmDictDTO();
			searchDictDto.setDictCode(dto.getDictCode());
			TCMmDictDTO tcmmDictDto =tbjDictDao.getTbjDictByCodeOrId(SearchParamUtil.getSearchParam(searchDictDto));
			if(tcmmDictDto!=null&&tcmmDictDto.getId()!=null){
				dto.setDictId(tcmmDictDto.getId());
			}else{
				//该编号不存在则插入
				tbjDictDao.insertTbjDict(SearchParamUtil.getSearchParam(dto));
				dto.setDictId(dto.getId());
			}
		}
		tbjDictDao.insertTbjDictDetail(SearchParamUtil.getSearchParam(dto));
	}
	
	/**
	 * 铜板街字典表通过id获取
	 * @Title getTbjDictById
	 * @Description TODO
	 * @param id
	 * @return 
	 * TbjDictDto 
	 * @author zhangmi
	 * @date 2016-8-1-下午5:02:58
	 * @update 
	 * @throws
	 */
	public TbjDictDto queryTbjDictById(String id){
		return tbjDictDao.searchTbjDictById(id);
	}
	
	/**
	 * 铜板街字典表修改
	 * @Title updateTbjDictDetail
	 * @Description TODO
	 * @param dto 
	 * void 
	 * @author zhangmi
	 * @date 2016-8-1-下午5:00:13
	 * @update 
	 * @throws
	 */
	public void updateTbjDictDetail(TbjDictDto dto){
		tbjDictDao.updateTbjDictDetail(SearchParamUtil.getSearchParam(dto));
	}
	
	/**
	 * 铜板街字典表 -获取父类字典
	 * @Title getTbjDictParentById
	 * @Description TODO
	 * @param id
	 * @return 
	 * TCMmDictDTO 
	 * @author zhangmi
	 * @date 2016-8-1-下午5:08:35
	 * @update 
	 * @throws
	 */
	public TCMmDictDTO getTbjDictParentBydictCode(String dictCode){
		TCMmDictDTO searchDictDto = new TCMmDictDTO();
		searchDictDto.setDictCode(dictCode);
		return tbjDictDao.getTbjDictByCodeOrId(SearchParamUtil.getSearchParam(searchDictDto));
	}
	/**
	 * 铜板街字典表 -删除
	 * @Title deleteTbjDictDetailById
	 * @Description TODO
	 * @param ids 
	 * void 
	 * @author zhangmi
	 * @date 2016-8-1-下午6:24:11
	 * @update 
	 * @throws
	 */
	public void deleteTbjDictDetailById(String ids){
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("ids", ids);
		tbjDictDao.deleteTbjDictDetailById(map);
	}
}
